/*

	题目 3：统计素数个数
	**要求**：  
	输入一个正整数 `n`，输出 1~n 之间所有质数的个数。  
	**示例**：  
	输入：`n=10` → 输出：4（2,3,5,7）  

	**提示**：  
	- 外层循环遍历 1~n，内层循环判断是否为质数。  
	- 发现非质数时用 `break` 提前终止内层循环。  


*/

/*
	思路分析：
	1.定义一个变量保存输入的正整数和统计的个数
	2.使用循环
		for循环
		（1）循环变量 i = 2
		（2）循环条件 到输入的整数结束
		（3）循环变量迭代：i++
		（4）循环内容：判断该数字是否是质数
			使用循环
				for循环
				（1）循环变量 j = 2
				（2）循环条件 i - 1 （到该数的平方根结束）Math.sqrt(i)
				（3）循环变量迭代：j++
				（4）循环内容：
					使用判断 条件：当前的i 和j取余数 是否为0
	3.count的增加
		使用判断
			使用标志位 isPrime
	4.输出质数的个数
*/

// 如果是小数 使用parseFloat()进行转换 否则会发生截断
let n = parseInt(prompt("请输入一个正整数："));
console.log(n);

let count = 0;
for (let i = 2; i <= n; i++ ) {
	let isPrime = true;
	for (let j = 2; j <= i - 1; j++) {
		if (i % j == 0) {
			isPrime = false;
			break;
		}
	}
	// 个数 + 1 如果能走到这里说明 在内层循环没有找到任何一个因数
	if (isPrime) {
		count++;
	} 
}
console.log(count);









